//
//  MFAPMDataBase.h
//  MFAPMManager
//
//  Created by zhang liyu on 2019/5/29.
//

#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN

@interface MFAPMDataBase : NSObject

#pragma mark - DataBase Control Actions

/**
 手动关闭数据库函数
 */
+ (void)closeDB;

#pragma mark - Add Actions

/**
 新增Item数组到数据库，并限定数据表中保存的条目数目
 
 @param itemsArr 要插入的包含Item数据字典的数据数组
 @param limitItemNUM 数据表中保存数据的限定数目
 @param complete 插入完成后的回调，包含插入成功失败结果
 */
+ (void)addItems:(NSArray<NSDictionary *> *)itemsArr withTableLimitItemNUM:(NSUInteger)limitItemNUM  complete:(void (^)(BOOL isSuccess))complete;

#pragma mark - Query Actions

/**
 查询所有的Item对象，并对结果进行排序
 
 @param isAsc 查询结果的返回顺序，YES：升序 NO：降序
 @param isDeleteAllData 查询结果后是否删除全部数据，YES：删除全部数据 NO：不删除
 @return 查询到的包含Item数据字典的结果数组
 */
+ (NSArray<NSDictionary *> *)queryAllItemsOrderInAsc:(BOOL)isAsc AndDeleteAllData:(BOOL)isDeleteAllData;

@end

NS_ASSUME_NONNULL_END
